Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Commit ec6542c198a17fc0bf45f5c16d4fe427ecbde82b


Parents : 4a6cf05
Author : Mark Qvist <bc7291552be7a58f361522990465165c>
Signature : T66BB85Valid, signed by author
Date : 2026-06-09T22:09:22+02:00

Appimage build

Changes

2 files changed, 24 insertions(+), 23 deletions(-)

M Makefile +2 -2

Diff

diff --git a/Makefile b/Makefile
index 50ef5a96..cafcc4e6 100644
--- a/Makefile
+++ b/Makefile
@@ -91,7 +91,7 @@ prepare_win_pkg: clean build_spkg
build_winexe: prepare_win_pkg
cp dist/winbuild.zip $(WINDOWS_BUILD_TARGET)
-release: build_wheel apk fetchapk
+release: build_wheel apk fetchapk appimage
prepare-appimage:
mkdir -p lib/whl
@@ -104,7 +104,7 @@ prepare-appimage:
cp ../LXST/dist/lxst-*-py3-none-any.whl lib/whl/
cd lib/ewhl && pip download "kivy>=2.3.0" "numpy>=2.3.4" "pillow>=10.2.0" "mistune>=3.0.2" "qrcode" "materialyoucolor>=2.0.7" "beautifulsoup4" "pycodec2>=4.1.0" "cffi>=2.0.0" "cryptography>=3.4.7" "pyserial>=3.5" "pysdl2-dll>=2.32.0" "prompt-toolkit"
-appimage: appimage-x86_64
+appimage: build_wheel appimage-x86_64
appimage-x86_64:
@echo Building Sideband AppImage for x86_64...

diff --git a/build_appimage.sh b/build_appimage.sh
index 543d96a0..ab6f71dd 100755
--- a/build_appimage.sh
+++ b/build_appimage.sh
@@ -8,8 +8,8 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
BUILD_DIR="${SCRIPT_DIR}/build/appimage"
DIST_DIR="${SCRIPT_DIR}/dist"
LXST_LIBS_DIR="${SCRIPT_DIR}/../LXST/lib/static"
-PYTHON_VERSION="3.14"
-PYTHON_TAG="cp314-cp314"
+PYTHON_VERSION="3.12"
+PYTHON_TAG="cp312-cp312"
ARCH="x86_64"
LINUX_TAG="manylinux_2_28_x86_64"
MANYLINUX_YEAR="2_28"
@@ -51,7 +51,7 @@ create a relocatable Python environment and bundles all dependencies.
Usage: ./build_appimage.sh [options]
-a, --arch ARCH Target architecture (x86_64 or aarch64), default: x86_64
- -p, --python VERSION Python version to use, default: 3.14
+ -p, --python VERSION Python version to use, default: 3.12
-o, --output DIR Output directory for the AppImage, default: ./dist
-c, --clean Clean build directory before building
-v, --verbose Verbose output
@@ -210,16 +210,17 @@ install_pip_deps() {
"${BUILD_DIR}/../../lib/whl/rns-*-py3-none-any.whl"
"${BUILD_DIR}/../../lib/whl/lxmf-*-py3-none-any.whl"
"${BUILD_DIR}/../../lib/whl/lxst-*-py3-none-any.whl"
+ "${BUILD_DIR}/../../dist/sbapp-*-py3-none-any.whl"
)
for dep in "${edeps[@]}"; do
log_info "Installing $dep..."
- $apprun -m pip install --no-index --find-links "${BUILD_DIR}/../../lib/ewhl" --no-warn-script-location "$dep"
+ $apprun -m pip install --no-warn-script-location "$dep"
done
for dep in "${ldeps[@]}"; do
log_info "Installing $dep..."
- $apprun -m pip install --no-index --find-links --no-warn-script-location $dep
+ $apprun -m pip install --no-warn-script-location $dep
done
log_success "Python dependencies installed"
@@ -228,19 +229,19 @@ install_pip_deps() {
copy_local_packages() {
log_info "Copying local packages..."
- local site_packages="${BUILD_DIR}/AppDir/opt/python${PYTHON_VERSION}/lib/python${PYTHON_VERSION}/site-packages"
+ # local site_packages="${BUILD_DIR}/AppDir/opt/python${PYTHON_VERSION}/lib/python${PYTHON_VERSION}/site-packages"
- log_info "Copying sbapp..."
- mkdir -p "$site_packages/sbapp"
- tar -C "${SCRIPT_DIR}/sbapp" -cf - . 2>/dev/null | tar -C "$site_packages/sbapp" -xf -
+ # log_info "Copying sbapp..."
+ # mkdir -p "$site_packages/sbapp"
+ # tar -C "${SCRIPT_DIR}/sbapp" -cf - . 2>/dev/null | tar -C "$site_packages/sbapp" -xf -
- for module in mapview kivymd md plyer pmqtt; do
- if [[ -d "${SCRIPT_DIR}/sbapp/$module" ]]; then
- log_info "Copying $module..."
- rm -rf "$site_packages/$module"
- cp -r "${SCRIPT_DIR}/sbapp/$module" "$site_packages/"
- fi
- done
+ # for module in mapview kivymd md plyer pmqtt; do
+ # if [[ -d "${SCRIPT_DIR}/sbapp/$module" ]]; then
+ # log_info "Copying $module..."
+ # rm -rf "$site_packages/$module"
+ # cp -r "${SCRIPT_DIR}/sbapp/$module" "$site_packages/"
+ # fi
+ # done
# cp "$LXST_LIBS_DIR/filterlib.cpython-311-aarch64-linux-gnu.so" "$site_packages/sbapp/LXST"
# cp "$LXST_LIBS_DIR/filterlib.cpython-311-x86_64-linux-gnu.so" "$site_packages/sbapp/LXST"
@@ -248,8 +249,8 @@ copy_local_packages() {
# cp "$LXST_LIBS_DIR/filterlib.cpython-312-x86_64-linux-gnu.so" "$site_packages/LXST"
# cp "$LXST_LIBS_DIR/filterlib.cpython-313-aarch64-linux-gnu.so" "$site_packages/sbapp/LXST"
# cp "$LXST_LIBS_DIR/filterlib.cpython-313-x86_64-linux-gnu.so" "$site_packages/sbapp/LXST"
- cp "$LXST_LIBS_DIR/filterlib.cpython-314-aarch64-linux-gnu.so" "$site_packages/sbapp/LXST"
- cp "$LXST_LIBS_DIR/filterlib.cpython-314-x86_64-linux-gnu.so" "$site_packages/sbapp/LXST"
+ # cp "$LXST_LIBS_DIR/filterlib.cpython-314-aarch64-linux-gnu.so" "$site_packages/sbapp/LXST"
+ # cp "$LXST_LIBS_DIR/filterlib.cpython-314-x86_64-linux-gnu.so" "$site_packages/sbapp/LXST"
log_success "Local packages copied"
}
@@ -424,10 +425,10 @@ export KIVY_SDL2_PATH="${APPDIR}/usr/lib"
export LD_LIBRARY_PATH="${APPDIR}/usr/lib:${LD_LIBRARY_PATH}"
# Set Python path
-export PYTHONPATH="${APPDIR}/opt/python3.14/lib/python3.14/site-packages:${PYTHONPATH}"
+export PYTHONPATH="${APPDIR}/opt/python3.12/lib/python3.12/site-packages:${PYTHONPATH}"
# Launch Sideband
-"${APPDIR}/opt/python3.14/bin/python3.14" -m sbapp.main "$@"
+"${APPDIR}/opt/python3.12/bin/python3.12" -m sbapp.main "$@"
EOF
chmod +x "$apprun"
@@ -524,7 +525,7 @@ import sys
# Ensure site-packages is in the path when running from AppImage
_appdir = os.getenv('APPDIR')
if _appdir:
- _site_packages = os.path.join(_appdir, 'opt/python3.14/lib/python3.14/site-packages')
+ _site_packages = os.path.join(_appdir, 'opt/python3.12/lib/python3.12/site-packages')
if _site_packages not in sys.path:
sys.path.insert(0, _site_packages)


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────